package dhbw.Data;
/**
 * Klasse zum definieren des Notenspiegels
 */
import java.text.DecimalFormat;

public class Notenspiegel {

	private double[] punkte;
	private double[] noten;
	DecimalFormat f = new DecimalFormat("#0.0");

	public Notenspiegel() {
		punkte = new double[100];
		noten = new double[100];
		double speicher = 100.0;
		for (int i = 0; i < 100; i++) {
			punkte[i] = (int) speicher;
			speicher = Double.parseDouble(f.format(speicher - 1.6).replace(",","."));
		}
		speicher = 1.0;
		noten[0] = 1.0;
		for (int i = 0; i < 100; i++) {
			noten[i] = speicher;
			speicher = Double.parseDouble(f.format(speicher + 0.1).replace(",","."));
		}
	}
/**
 * Methode um die Punktzahl des Studenten zu ermitteln
 * @param note 
 * @return Punkzahl
 */
	public String getPunkte(double note) {
		boolean search = true;
		int marker=-1;
		String rtn="";
		while(search)
		{
			marker++;
			if(note <= noten[marker])
			{
				search = false;
				if(punkte[marker] == punkte[marker-1]-1)
					rtn = "" + punkte[marker];
				else
					
				rtn = punkte[marker]+ " - " + (punkte[marker-1]-1);
			}
			
		}
		return rtn;
	}
/**
 * Methode um die Note des Studenten zu ermitteln
 * @param points
 * @return Note
 */
	public double getNote(int points) {
		boolean search = true;
		int marker = 0;
		double rtn = 0.0;
		while (search) {
			if (punkte[marker] <= points) {
				if(noten[marker] > 5.0) {
					rtn = 5.0;
					search = false;
				} else {
				rtn = noten[marker];
				search = false;
				}
			} else
				marker++;
		}

		return rtn;
	}
/**
 * Methode um den Notenspiegel in der Konsole auszugeben
 */
	public void printNotenspiegelToConsole() {
		for (int i = 0; i < 100; i++) {
			System.out.println("-  " + punkte[i] + " --> " + noten[i]);
		}
	}
}
